package com.newshub.business.dto;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 新闻查询条件DTO
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class NewsQueryDTO {
    
    /**
     * 当前页码，默认第1页
     */
    private Integer pageNum = 1;
    
    /**
     * 每页大小，默认20条
     */
    private Integer pageSize = 20;
    
    /**
     * 新闻标题（模糊查询）
     */
    private String title;
    
    /**
     * 新闻内容（模糊查询）
     */
    private String content;
    
    /**
     * 新闻分类ID
     */
    private Integer categoryId;
    
    /**
     * 新闻信源ID
     */
    private Integer sourceId;
    
    /**
     * 新闻状态（1-正常，0-禁用）
     */
    private Integer status;
    
    /**
     * 是否热点（1-是，0-否）
     */
    private Integer isHot;
    
    /**
     * 发布时间范围-开始时间
     */
    private LocalDateTime publishTimeStart;
    
    /**
     * 发布时间范围-结束时间
     */
    private LocalDateTime publishTimeEnd;
    
    /**
     * 创建时间范围-开始时间
     */
    private LocalDateTime createdAtStart;
    
    /**
     * 创建时间范围-结束时间
     */
    private LocalDateTime createdAtEnd;
    
    /**
     * 排序字段（title, publishTime, createdAt, viewCount等）
     */
    private String sortField = "publishTime";
    
    /**
     * 排序方向（asc, desc），默认降序
     */
    private String sortOrder = "desc";
}


